/*******************************************************************************
 * Copyright (c) 2023. 山东新北洋信息技术股份有限公司 保留所有权利。
 *
 ******************************************************************************/

/*
 * 版权所有 2009-2022山东新北洋信息技术股份有限公司 保留所有权利。
 */
package online.xuping.thousandsOfWorlds.common.constants;

public enum SystemErrorEnum implements CommonErrorCodeHelper {

    /**
     * 同类的编码，需要按组，按顺序排列，不能重复
     * 完整的错误码实例：【AA0B01】
     * AA-模块编码，0-错误类型，B-所属模块订单，01-错误码
     */
    //==================[参数错误]码-参数错误[0]====================================
    HEADER_USERID_PARAM("请求头获取用户ID失败", "01", ErrorTypeCodeEnum.PARAM_ERROR),


    //==================[调用错误]码-调用错误[2] ===================================

    //==================[解析错误]码-解析错误[3] ===================================

    //==================[系统异常]码-系统异常[4] ===================================
    UPLOAD_ERROR("上传异常", "01", ErrorTypeCodeEnum.SYSTEM_ERROR),
    SYSTEM_ERROR("系统异常", "02", ErrorTypeCodeEnum.SYSTEM_ERROR),
    ;


    /**
     * 错误码
     */
    private final String code;
    /**
     * 错误信息
     */
    private final String msg;


    /**
     * 错误码模块,通过字典值生成错误码
     *
     * @param code    错误码
     * @param message 错误信息
     * @author dongyinggang
     * @date 2022/7/1 13:57
     */
    SystemErrorEnum(String message, String code, ErrorTypeCodeEnum errorTypeCodeEnum) {
        this.code =
                ModelCodeEnum.ORDER_MODEL.getCode() + errorTypeCodeEnum
                        .getCode() + WarehouseBusinessCodeEnum.STATISTICS.getCode() + code;
        msg = message;
    }

    /**
     * getCode 方法是 获取错误码
     *
     * @return 错误码
     * @author dongyinggang
     * @date 2022/7/1 13:57
     */
    @Override
    public String getCode() {
        return code;
    }


    /**
     * getMessage 方法是 获取错误信息
     *
     * @return 错误信息
     * @author dongyinggang
     * @date 2020/12/15 19:58
     */
    @Override
    public String getMsg() {
        return msg;
    }
}
